package com.enjoyor.soa.traffic.api.service.dubbo.ovms;

import java.util.Map;

import com.enjoyor.soa.traffic.api.dto.ovms.AnnounceDto;
import com.enjoyor.soa.traffic.api.dto.ovms.LogUserDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 *
 */

public interface DubboAnnounceService {

	/**
	 * 获取公告信息
	 * 
	 * @param systemKey
	 *            系统秘钥
	 * @param token
	 * @param searchMap
	 *            查询map
	 * @return
	 */
	public ResultPojo getAnnounceList(String systemKey, String token, LogUserDto logUser,
			Map<String, Object> searchMap);

	/**
	 * 获取公告分页信息
	 * 
	 * @param systemKey
	 * @param token
	 * @param searchMap
	 * @param page
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getAnnouncePage(String systemKey, String token, LogUserDto logUser, Map<String, Object> searchMap,
			Page page);

	/**
	 * 新增公告
	 * 
	 * @param systemKey
	 * @param token
	 * @param dto
	 *            公告实体类
	 * @return
	 */
	public ResultPojo insertAnnounce(String systemKey, String token, LogUserDto logUser, AnnounceDto dto);

	/**
	 * 更新公告
	 * 
	 * @param systemKey
	 * @param token
	 * @param dto
	 *            公告实体类
	 * @return
	 */
	public ResultPojo updateAnnounce(String systemKey, String token, LogUserDto logUser, AnnounceDto dto);

	/**
	 * 删除公告
	 * 
	 * @param systemKey
	 * @param token
	 * @param announceId
	 * @return
	 */
	public ResultPojo deleteAnnounce(String systemKey, String token, LogUserDto logUser, String announce_id);

	/**
	 * 查询用户查看公告记录列表
	 * 
	 * @param token
	 * @param systemkey
	 * @param person_id
	 * @return
	 */
	public ResultPojo getRltAnnouncePersonList(String token, String systemkey, LogUserDto logUser, String person_id);
}
